from file_define import *
from data_define import Record
from pyecharts.charts import Bar
from pyecharts.options import *
from pyecharts.globals import ThemeType

text_file_reader = TextFileReader("D:\\file\\2011年1月销售数据.txt")
json_file_reader = JsonFileReader("D:\\file\\2011年2月销售数据JSON.txt")

jan_data: list[Record] = text_file_reader.read_data()
feb_data: list[Record] = json_file_reader.read_data()
# 将两个列表合并
all_data: list[Record] = jan_data + feb_data

# 开始计算数据 (每日销售额)
data_dict: dict[str, int] = dict()

for record in all_data:
    if record.date not in data_dict.keys():
        data_dict[record.date] = record.money
    else:
        data_dict[record.date] += record.money

# print(data_dict)
# 可视化图表开发
bar = Bar(init_opts=InitOpts(theme=ThemeType.LIGHT))        # 改变颜色

bar.add_xaxis(list(data_dict.keys()))               # 添加X轴数据
bar.add_yaxis("销售额", list(data_dict.values()), label_opts=LabelOpts(is_show=False))  # 添加Y轴数据
bar.set_global_opts(
    title_opts=TitleOpts(title="每日销售额", pos_left="center", pos_bottom="1%")
)

bar.render("每日销售额柱状图开发.html")

